---
Başlık: Paket Üretimi-1 (Genel Komutlar)
Yazar: Yaşar Çiv
Tarih: 06.09.2017
anahtar_kelimeler: milis, mps, paket sistemi, paketleme
---

Merhabalar. Bu yazımızda paket üretim aşamasında kullanacağımız komutlara değineceğiz.
Üreteceğimiz paketleri en temiz biçimde yapmak için öncelikle *Derleme Ortamı*nı oluşturmamız gerekir. Bu konuyu diğer rehberlerimizde bulabilirsiniz.
Eğer ortamı daha önce oluşturup çıkmışsanız `derleme.sh` komutu ile tekrar girbilirsiniz.
Derleme ortamına girdiğinizde ilk yapacağınız işlem boş bir dizine girmek olacaktır, çünkü derleyeceğimiz paketler içinde olduğumuz dizinde oluşacaktır.
Genelde biz **opt** dizinini kullanmaktayız, siz dilerseniz `mkdir dizin_adı` ile istediğiniz şekilde oluşturabilirsiniz.
Daha önce normal ortamda hazırladığımız talimatı içinde bulunduğumuz derleme ortamının yolu olan **/mnt/lfs/root/talimatlar/** altına konmalıdır. Böylelikle ortam bu talimatı görecektir.
Talimatımız ve varsa bağımlı olduğu diğer talimatları gerekli dizine kopyaladıysak artık hazırız demektir.
1. Derlemek için ilk komutumuz `mps odkp talimat_adı` **ODKP**= Otomatik Derle Kur Paketle.
Adından da anlayacağınız üzere bu komut paketi hem derler, hem derleme ortamına kurar aynı zamanda da sıkıştırarak paket haline getirir.
Oluşan paketin/paketlerin uzantısı .mps.lz olacaktır.
`mps odkp talimat_adı` aynı zamanda ilgili talimatın *Depends on:* kısmında yer alan, diğer bir deyişe paketin bağımlılıklarını da ana depodan indirip kurar.
Eğer bu bağımlılıklar depoda yoksa ve talimatını önceden hazırladıysak onları da derleyip paket haline getirir.
2. Derleme için kullandığımız diğer bir komut `mps -d talimat_adı`
Bu komut derlemek istediğimiz paketi bağımlılıklarının kurulu olup olmadığını kontrol etmeksizin hemen derlemeye başlar. 
Odkp ile derlenememiş ve hataları giderilmiş talimatları veya bağımlılıkları daha önceden ortama kurulmuş olan paketleri direkt olarak derlemek için kullanılır.
*Bu komut sonunda oluşan paket ortama kurulmaz*, sadece .mps.lz uzantılı paket haline gelir.
Bu noktada şöyle bir soru aklınıza gelebilir; *Peki ben `mps -d talimat_adı` yerine odkp komutunu ikinci kez verirsem ne olur?*
Bunda herhangi bir sakınca olmaz, sadece bağımlılıkların kontrolünden dolayı birazcık beklemek zorunda kalırız.
3. Diğer bir komutumuz `mps -zd talimat_adı` **ZD**= Zorla Derle
Bu komut ortama daha önceden derlenerek veya ana depodan indirilerek kurulmuş olan bir paketi yeniden derlemek için kullanılır. `mps -d talimat_adı` gibi bu komut sonunda oluşan paket sisteme kurulmaz, yalnızca .mps.lz uzantılı paket haline gelir.
4. Başka bir komutumuz olan `mps -derle talimat_adı` ilgili talimatı *Depends on:* kısmında yer alan bütün bağımlılıklarıyla beraber derler.
Burada dikkat edilecek husus şu ki, **bağımlılıklar veya talimatın kendisi depoda olsun veya olmasın derlemeye başlanır**.

---

Ürettiğimiz paketleri normal sisteme kurup denemek için **/mnt/lfs/opt** veya hangi dizinde derlediysek oraya girip uçbirim açarız ve `mps -kh` komutu veririz.
Bunu yapmadan önce üzerinde çalıştığımız talimatları normal ortamda **/root/talimatlar** veya **/root/talimatname/genel** altına kopyalamalıyız. Bunu yapmaz isek paketlerin bağımlılıkları dikkate alınmaz.
Böylece `mps -kh` komutu ile dizinde olan tüm paketler bağımlılıklarıyla beraber sisteme kurulmuş olur.

---

**İletişim**:
[yasarciv67@gmail.com](mailto:yasarciv67@gmail.com)

